package com.atguigu;

import lombok.Data;

/**
 * @author li.chunlong lcl253-137@alibaba-inc.com
 * @desc 备忘录模式的原始类
 * @date 2021-10-19
 */
@Data
public class Originator {

    /**
     * 状态信息
     */
    private String state;

    /**
     * 编写一个方法，可以保存一个状态对象Memento
     *
     * @return 备忘录对象
     */
    public Memento saveStateMemento() {
        return new Memento(state);
    }

    /**
     * 通过备忘录对象，恢复状态
     *
     * @param memento 备忘录对象
     */
    public void getStateFromMemento(Memento memento) {
        state = memento.getState();
    }
}
